﻿namespace WMS6.Services
{
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.ServiceModel;
    using WMS6.Common;
    using WMS6.DataEntity;
    using WMS6.QueryEntity;

    [ServiceContract(Namespace="WMS6.Services")]
    public interface ICustomizeReportService
    {
        [FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(LPSaleReportQueryEntity)), ServiceKnownType(typeof(PubParasInfo)), OperationContract]
        DataSet GetLPSaleReport(LPSaleReportQueryEntity lPSaleReportQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(PubParasInfo)), ServiceKnownType(typeof(NSNPerformanceReportQueryEntity)), FaultContract(typeof(FaultDetail)), OperationContract]
        DataSet GetNSNPerformanceReportByDataSet(NSNPerformanceReportQueryEntity nsnPerformanceReportQueryEntity, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(InventoryQueryEntity)), ServiceKnownType(typeof(PubParasInfo)), FaultContract(typeof(FaultDetail))]
        DataSet GetTNTDailyInventoryRptDataSet(InventoryQueryEntity inventoryQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(TNTInOutStockInvRptQueryEntity)), ServiceKnownType(typeof(PubParasInfo)), OperationContract, FaultContract(typeof(FaultDetail))]
        DataSet GetTNTInOutStockInvRptDataSet(TNTInOutStockInvRptQueryEntity tntInOutStockInvRptQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(PubParasInfo)), ServiceKnownType(typeof(YITAISerialNoInOutReportQueryEntity)), OperationContract, FaultContract(typeof(FaultDetail))]
        DataSet GetYITAISerialNoInOutReport(YITAISerialNoInOutReportQueryEntity serialNoInOutReportQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(PubParasInfo)), FaultContract(typeof(FaultDetail)), OperationContract]
        string UpdateYITAISerialNoInOutReportFlag(List<string> transIDs, List<string> otTransIDs, PubParasInfo pubParasInfo);
    }
}

